c for advance learners